跳到主要内容

4.5位线性反馈移位寄存器(LFSR)

线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)通常是一种带有几个XOR门的移位寄存器,用于生成移位寄存器的下一个状态。Galois LFSR是特定的一种安排,其中带有“抽头”(tap)的位位置会与输出位进行XOR运算以产生其下一个值,而没有抽头的位位置则简单地进行移位。如果抽头位置被精心选择,LFSR就可以被设计成“最大长度”的。一个n位的最大长度LFSR会在重复之前循环遍历2^n-1个状态(全零状态永远不会达到)。

下面的图表展示了一个5位最大长度的Galois LFSR,抽头位于第5位和第3位(抽头位置通常从1开始编号)。请注意,我为了保持一致性在第5位置绘制了XOR门,但实际上XOR门的一个输入是0,意味着这一位置实际上并不参与反馈计算。

alt text

构建这个LFSR时,要求复位(reset)功能能够将LFSR重置为初始值1。

模块声明

module top_module(
input clk,
input reset, // 高电平有效的同步复位至5位十六进制数1(即二进制的00011)。
output [4:0] q
);

做题区